import heapq

n = int(input())
nums = list(map(int, input().split()))
nums.sort()
tables = [0]  # 作为队列 元素长度和各个元素
for num in nums:
    # 应该去找一个长度最小的列表即优先队列
    min_v = tables[0]
    if min_v >= num:
        heapq.heappush(tables, 1)
    else:
        k = heapq.heappop(tables)
        heapq.heappush(tables, k + 1)
print(len(tables))
